const result = require('./handle.js')
class checking {
	constructor(ctx, ...obj) { // 接收不固定参数
		this.ctx = ctx
		this.obj = obj
	}
	// 校验前端传来的值为undefined
	Errunder() {
		let bvc = this.obj.indexOf('')
		return bvc
	}
	// 校验手机号格式
	Phone(mobile, num) {
		let phone = /^1[3456789]\d{9}$/
		if (!phone.test(this.obj[num])) {
			throw new result(mobile, 202)
		}
	}
	// 校验密码格式：6-20位数字与字母结合
	Password(pass, num) {
		let reg = /^(?![\d]+$)(?![a-zA-Z]+$)(?![^\da-zA-Z]+$).{6,20}$/
		if (!reg.test(this.obj[num])) {
			throw new result(pass, 202)
		}
	}
}

// 子类
class regcheck extends checking {
	start() {
		super.Errunder()
		super.Phone('请填写正确的手机号码', 0)
		super.Password('密码必须由6-20位数字与字母的结合', 1)
	}
}
module.exports = {
	regcheck,
	checking
}